【精选】k8s重新初始化master节点(初始化master节点报错:Port 6443 is in use)

您所在的位置:网站首页 k8s master节点挂了 【精选】k8s重新初始化master节点(初始化master节点报错:Port 6443 is in use)

【精选】k8s重新初始化master节点(初始化master节点报错:Port 6443 is in use)

2023-11-05 20:16| 来源: 网络整理| 查看: 265

在这里插入图片描述 解决方案:

第一步:删除前一次初始化产生的文件及文件夹 rm -rf /etc/kubernetes/* rm -rf ~/.kube/* rm -rf /var/lib/etcd/* 第二步:停用前一次初始化占用的端口

(对照自己的报错提示信息,哪个占用就停哪个,别乱复制粘贴)

lsof -i :6443|grep -v "PID"|awk '{print "kill -9",$2}'|sh lsof -i :10250|grep -v "PID"|awk '{print "kill -9",$2}'|sh lsof -i :10257|grep -v "PID"|awk '{print "kill -9",$2}'|sh lsof -i :10259|grep -v "PID"|awk '{print "kill -9",$2}'|sh lsof -i :2379|grep -v "PID"|awk '{print "kill -9",$2}'|sh lsof -i :2380|grep -v "PID"|awk '{print "kill -9",$2}'|sh

如果执行停用端口命令报错如下,就执行以下命令,没遇到这个错误,就跳过直接进行第三步:重启kubeadm: 在这里插入图片描述 执行以下命令:

yum install lsof

结果如下: 在这里插入图片描述 完成后继续执行第二步停用端口命令操作即可。

第三步:重启kubeadm

执行命令:

kubeadm reset

如果继续报类似下面这种错误,仔细看提示信息,会告诉你应该怎么做,我这里提示需要删除:[/var/lib/kubelet /var/lib/dockershim /var/run/kubernetes /var/lib/cni]

在这里插入图片描述 继续删除 (根据你的提示进行操作,不要急着全复制) 除了新增的提示操作,把第一二步的删除目录操作和停用端口也都重新执行一遍:

[root@master ~]# rm -rf /var/lib/kubelet/ [root@master ~]# rm -rf /var/lib/dockershim/ [root@master ~]# rm -rf /var/run/kubernetes [root@master ~]# rm -rf /var/lib/cni [root@master ~]# rm -rf /etc/kubernetes/* [root@master ~]# rm -rf ~/.kube/* [root@master ~]# rm -rf /var/lib/etcd/* [root@master ~]# lsof -i :6443|grep -v "PID"|awk '{print "kill -9",$2}'|sh [root@master ~]# lsof -i :10257|grep -v "PID"|awk '{print "kill -9",$2}'|sh [root@master ~]# lsof -i :10259|grep -v "PID"|awk '{print "kill -9",$2}'|sh [root@master ~]# lsof -i :2379|grep -v "PID"|awk '{print "kill -9",$2}'|sh [root@master ~]# lsof -i :2380|grep -v "PID"|awk '{print "kill -9",$2}'|sh

在这里插入图片描述

再次重启kubeadm 执行命令:

kubeadm reset

在这里插入图片描述

第四步:初始化k8s kubeadm init --apiserver-advertise-address 172.17.184.217 --pod-network-cidr=10.244.0.0/16 --kubernetes-version=1.18.1

截图之前还有很大一段输出,这里就不截图了。。。。 在这里插入图片描述 看到这一段初始化就成功了。 别大意,把上图中红框圈起来部分的底部token信息保存好: kubeadm join 172.17.184.217:6443 --token 1tu02o.dgrgoc0eir12het8 –discovery-token-ca-cert-hash sha256:dc7d52c51964c502388450d5ca033778c5fe31f0900a84a73b39a4b413ef5939 这里别复制我的,把你自己的复制出来,保存好,我们后面将其他node节点加入到该集群中需要使用到它。

第五步:配置k8s环境变量

命令:

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile source ~/.bash_profile mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config 第六步:设置POD网络

命令:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

网络不好这一步耐心等一等,别着急,正确结果如下: 在这里插入图片描述 继续执行命令:

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config

验证POD网络是否设置好了 命令:

ifconfig

结果如下: 在这里插入图片描述 截图下面还有很长一段,这里省略了。

第七步:查看污点,删除污点 kubectl describe node master|grep -i taints

结果如下: kubectl describe node master|grep -i taints

kubectl taint nodes master node-role.kubernetes.io/master-node/master untainted 第八步:查看节点 kubectl get node

master刚刚初始化好,肯定只有一个master节点: 在这里插入图片描述 master节点已经是ready状态了。

到这里master节点已经重新初始化好了。

下篇文章: docker+jenkins+k8s集群搭建系列四、node节点安装k8s并加入集群 讲解配置node节点安装k8s并将node节点加入集群



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3